home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
gfx
/
misc
/
gnuplot-3.7src.lha
/
gnuplot-3.7src
/
gnuplot-3.7.lha
/
gnuplot-3.7
/
term
/
aed.trm
next >
Wrap
Text File
|
1998-11-26
|
6KB
|
220 lines
/*
* $Id: aed.trm,v 1.13 1998/04/14 00:17:27 drd Exp $
*
*/
/* GNUPLOT - aed.trm */
/*[
* Copyright 1990 - 1993, 1998
*
* Permission to use, copy, and distribute this software and its
* documentation for any purpose with or without fee is hereby granted,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation.
*
* Permission to modify the software is granted, but not the right to
* distribute the complete modified source code. Modifications are to
* be distributed as patches to the released version. Permission to
* distribute binaries produced by compiling modified sources is granted,
* provided you
* 1. distribute the corresponding source modifications from the
* released version in the form of a patch file along with the binaries,
* 2. add special version identification to distinguish your version
* in addition to the base release version number,
* 3. provide your name and address as the primary contact for the
* support of your modified version, and
* 4. retain our contact information in regard to use of the base
* software.
* Permission to distribute the released version of the source code along
* with corresponding source modifications in the form of a patch file is
* granted with same provisions 2 through 4 for binary distributions.
*
* This software is provided "as is" without express or implied warranty
* to the extent permitted by applicable law.
]*/
/*
* This file is included by ../term.c.
*
* This terminal driver supports:
* AED terminals
*
* AUTHORS
* Colin Kelley, Thomas Williams, Russell Lang
*
* send your comments or suggestions to (info-gnuplot@dartmouth.edu).
*
*/
/*
* adapted to the new terminal layout by Stefan Bodewig (Dez. 1995)
*/
#include "driver.h"
#ifdef TERM_REGISTER
register_term(aed512)
register_term(aed767)
#endif
#ifdef TERM_PROTO
TERM_PUBLIC void AED_init __PROTO((void));
TERM_PUBLIC void AED_graphics __PROTO((void));
TERM_PUBLIC void AED_text __PROTO((void));
TERM_PUBLIC void AED_linetype __PROTO((int linetype));
TERM_PUBLIC void AED_move __PROTO((unsigned int x, unsigned int y));
TERM_PUBLIC void AED_vector __PROTO((unsigned int x, unsigned int y));
TERM_PUBLIC void AED_put_text __PROTO((unsigned int x, unsigned int y, char str[]));
TERM_PUBLIC void AED_reset __PROTO((void));
#define AED_XMAX 768
#define AED_YMAX 575
#define AED_VCHAR 13
#define AED_HCHAR 8
#define AED_VTIC 8
#define AED_HTIC 7
/* slightly different for AED 512 */
#define AED5_XMAX 512
#endif
#ifndef TERM_PROTO_ONLY
#ifdef TERM_BODY
#define AED_XLAST (AED_XMAX - 1)
#define AED_YLAST (AED_YMAX - 1)
#define AED5_XLAST (AED5_XMAX - 1)
TERM_PUBLIC void AED_init()
{
fputs("\033SEN3DDDN.SEC.7.SCT.0.1.80.80.90.SBC.0.AAV2.MOV.0.9.CHR.0.FFD", gpoutfile);
/* 2 3 4 5 7 6 1
1. Clear Screen
2. Set Encoding
3. Set Default Color
4. Set Backround Color Table Entry
5. Set Backround Color
6. Move to Bottom Lefthand Corner
7. Anti-Alias Vectors
*/
}
TERM_PUBLIC void AED_graphics()
{
fputs("\033FFD\033", gpoutfile);
}
TERM_PUBLIC void AED_text()
{
fputs("\033MOV.0.9.SEC.7.XXX", gpoutfile);
}
TERM_PUBLIC void AED_linetype(linetype)
int linetype;
{
static int color[2 + 9] = { 7, 1, 6, 2, 3, 5, 1, 6, 2, 3, 5 };
static int type[2 + 9] = { 85, 85, 255, 255, 255, 255, 255, 85, 85, 85, 85 };
if (linetype >= 10)
linetype %= 10;
fprintf(gpoutfile, "\
\033SLS%d.255.\
\033SEC%d.",
type[linetype + 2],
color[linetype + 2]);
}
TERM_PUBLIC void AED_move(x, y)
unsigned int x, y;
{
fprintf(gpoutfile, "\033MOV%d.%d.", x, y);
}
TERM_PUBLIC void AED_vector(x, y)
unsigned int x, y;
{
fprintf(gpoutfile, "\033DVA%d.%d.", x, y);
}
TERM_PUBLIC void AED_put_text(x, y, str)
unsigned int x, y;
char str[];
{
AED_move(x, y - AED_VCHAR / 2 + 2);
fprintf(gpoutfile, "\033XXX%s\033", str);
}
#define hxt (AED_HTIC/2)
#define hyt (AED_VTIC/2)
TERM_PUBLIC void AED_reset()
{
fputs("\033SCT0.1.0.0.0.SBC.0.FFD", gpoutfile);
}
#endif /* TERM_BODY */
#ifdef TERM_TABLE
TERM_TABLE_START(aed512_driver)
"aed512", "AED 512 Terminal",
AED5_XMAX, AED_YMAX, AED_VCHAR, AED_HCHAR,
AED_VTIC, AED_HTIC, options_null, AED_init, AED_reset,
AED_text, null_scale, AED_graphics, AED_move, AED_vector,
AED_linetype, AED_put_text, null_text_angle,
null_justify_text, do_point, do_arrow, set_font_null
TERM_TABLE_END(aed512_driver)
#undef LAST_TERM
#define LAST_TERM aed512_driver
TERM_TABLE_START(aed767_driver)
"aed767", "AED 767 Terminal",
AED_XMAX, AED_YMAX, AED_VCHAR, AED_HCHAR,
AED_VTIC, AED_HTIC, options_null, AED_init, AED_reset,
AED_text, null_scale, AED_graphics, AED_move, AED_vector,
AED_linetype, AED_put_text, null_text_angle,
null_justify_text, do_point, do_arrow, set_font_null
TERM_TABLE_END(aed767_driver)
#undef LAST_TERM
#define LAST_TERM aed767_driver
#endif /* TERM_TABLE */
#endif /* TERM_PROTO_ONLY */
#ifdef TERM_HELP
START_HELP(aed767)
"1 aed767",
"?commands set terminal aed767",
"?set terminal aed767",
"?set term aed767",
"?terminal aed767",
"?term aed767",
"?aed767",
"?commands set terminal aed512",
"?set terminal aed512",
"?set term aed512",
"?terminal aed512",
"?term aed512",
"?aed512",
" The `aed512` and `aed767` terminal drivers support AED graphics terminals.",
" The two drivers differ only in their horizontal ranges, which are 512 and",
" 768 pixels, respectively. Their vertical range is 575 pixels. There are",
" no options for these drivers."
END_HELP(aed767)
#endif